亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從輸入變量中相乘?

如何從輸入變量中相乘?

偶然的你 2022-05-24 09:27:35
我無法弄清楚如何增加我的用戶輸入。我嘗試將“int”變量的函數更改為“float”和“str”,但我似乎無法弄清楚。我的代碼:pops = input("Enter your favorite pop: ")cost = input("Enter how much they cost: ")how_many = input("Enter how many pops you have: ")print('My favorite pop is ' + pops + '!')print('They cost about ' + cost + ' dollars.')print('I have about ' + how_many + ' pops!')result = str(cost) * str(how_many)print("You have spent over " + result + " dollars on pops!")我有下一個錯誤:結果 = str(cost) * str(how_many) TypeError:不能將序列乘以“str”類型的非整數
查看完整描述

3 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

首先,我強烈建議您從一些指南/教程開始,或者至少閱讀官方 python 文檔以了解語言基礎知識。

關于你的問題。我將向您展示如何使用官方文檔找到解決方案的基本算法。

  1. input()讓我們檢查一下函數文檔。

    然后該函數從輸入中讀取一行,將其轉換為字符串,然后返回。

    python 中的字符串表示為str. 所以,執行完input()variables后popscosthow_many包含str值。

  2. 在您的代碼中,您正在使用str()函數。讓我們在文檔中檢查這個函數的作用:

    返回對象的str版本。

    現在您理解了這些表達式str(cost)str(how_many)轉換strstr這意味著..什么都不做。

  3. 如何將輸入中的值相乘?

    您需要將兩個值相乘,這需要轉換str為一種數字類型。

    因為cost我們將使用float,因為它可以包含小數。因為how_many我們可以使用int原因計數通常是整數。要轉換str為數字,我們將使用float()int()函數。

    在您的代碼中,您只需編輯發生錯誤的行并str()用適當的函數替換無用的調用:

    result = float(cost) * int(how_many)

    乘法的結果floatintfloat。

  4. 如何打印結果?

    您正在使用的代碼將引發錯誤,因為您無法對strfloat. 有幾種方法可以打印所需的消息:

    1. 轉換resultstr.

      這是最明顯的方式 - 只需使用str()函數:

      print("You have spent over " + str(result) + " dollars on pops!")
    2. 使用功能特點print()

      在文檔中寫道:

      打?。?/strong> *對象sep='',end='\n'file=sys.stdout,flush=False 

      將對象打印到文本流文件,以sep分隔,后跟end。

      正如我們所見,對象之間的默認分隔符是空格,所以我們可以只列出字符串的開頭,result并以print()函數的參數結尾:

      print("You have spent over", result, "dollars on pops!")
    3. 字符串格式化。

      這是一個非常復雜的主題,您可以通過以下提供的鏈接閱讀更多信息,我將向您展示一種使用str.format()函數的方法:

      print("You have spent over {} dollars on pops!".format(result))


查看完整回答
反對 回復 2022-05-24
?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

您正在嘗試將兩個字符串相乘。你應該像這樣乘法:

result = float(cost) * int(how_many)

但不要忘記在最后一行將結果重新轉換為字符串,否則它會給你另一個錯誤(TypeError在這種情況下)

print("You have spent over " + str(result) + " dollars on pops!")


查看完整回答
反對 回復 2022-05-24
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

str(item)轉換item為字符串。同樣,float(item)轉換item為浮點數(如果可能)。

編碼:

result = float(cost) * int(how_many)

不會產生與您指示的相同的錯誤,但ValueError如果給定的輸入不是您所期望的,則可能會引入 a 。

例子:

a = "b"
float(a)

輸出

ValueError: could not convert string to float: 'b'



查看完整回答
反對 回復 2022-05-24
  • 3 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號